/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.pucp.cpnc.mm.service;

import java.rmi.Remote;
import java.rmi.RemoteException;
import javax.swing.ImageIcon;
import pe.edu.pucp.cpnc.mm.bean.Map;
import pe.edu.pucp.cpnc.mm.bean.Tile;
import pe.edu.pucp.cpnc.mm.resdb.ManagerDB;

/**
 *
 * @author alulab11
 */
public interface MMServices extends Remote {
    public void changeTile(int posX, int posY, Tile tile) throws RemoteException;
    public int addObject(int posX, int posY, pe.edu.pucp.cpnc.mm.bean.Object object, int idPlayer) throws RemoteException;
    public void eraseObject(int posX, int posY) throws RemoteException;
    public void updateObject(int posX, int posY, int newPosX, int newPosY) throws RemoteException;
    public int load(String file) throws RemoteException;
    public void save(String file) throws RemoteException;
    public ImageIcon printMap (int width,int height, int mouseX, int mouseY, pe.edu.pucp.cpnc.mm.bean.Object selObj) throws RemoteException;
    public void addPlayer(int id, char color, int type, String civilization, String name) throws RemoteException;
    public ManagerDB getResources() throws RemoteException;
    public void createNewMap(int width,int height,String name, Tile t ) throws RemoteException;
    public int checkMemState() throws RemoteException;
    public void clientCountUpdate(int val) throws RemoteException;
}
